package com.turing.post.transaction.util;

import java.util.Date;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;

@Remote
@Local
public interface ChkAccFileBusiness {
	/**
	 * 从指定地址处删除指定商户、日期的对帐文件
	 * 
	 * @param ftpaddress
	 * @param filename
	 */
	public void delRemoteFile(String ftpaddress, String merchantNo,
			Date tranDate);

	/**
	 * 从指定地址处获取指定商户、日期的对帐文件
	 * 
	 * @param address
	 *            ftp地址
	 * @param merchantNo
	 *            商户号
	 * @param tranDate
	 *            日期
	 * @return ChkAccFile
	 */
	public ChkAccFile getChkAccFile(String address, String merchantNo,
			Date tranDate) throws PCPSApplicationException;

	/**
	 * 根据原始文件内容解析指定商户、日期的对帐文件
	 * 
	 * @param content
	 *            文件内容
	 * @param merchantNo
	 *            商户号
	 * @param tranDate
	 *            日期
	 * @return ChkAccFile
	 */
	public ChkAccFile getChkAccFileFromRaw(byte[] content, String merchantNo,
			Date tranDate) throws PCPSApplicationException;

	/**
	 * 通过ftp获取远程文件
	 * 
	 * @param ftpaddress
	 * @param filename
	 * @return
	 * @throws PCPSApplicationException
	 */
	public byte[] getRemoteFile(String ftpaddress, String filename)
			throws PCPSApplicationException;
}
